import request from '@/config/axios'

// 短信模板 VO
export interface SmsTemplateVO {
  id: number // 编号
  type: string // 短信类型
  code: string // 模板编码
  name: string // 模板名称
  content: string // 模板内容
  remark: string // 备注
  apiTemplateId: string // 渠道模版编号
  channelId: number // 短信渠道编号
  status: number // 开启状态
}

export interface SmsTemplateSendVO {
  mobile: string
  templateCode: string
  templateParams: Map<String, Object>
}

// 短信模板 API
export const SmsTemplateApi = {
  // 查询短信模板分页
  getSmsTemplatePage: async (params: PageParam) => {
    return await request.get({ url: `/system/sms-template/page`, params })
  },

  // 查询短信模板详情
  getSmsTemplate: async (id: number) => {
    return await request.get({ url: `/system/sms-template/get`, params: { id } })
  },

  // 新增短信模板
  createSmsTemplate: async (data: SmsTemplateVO) => {
    return await request.post({ url: `/system/sms-template/create`, data })
  },

  // 修改短信模板
  updateSmsTemplate: async (data: SmsTemplateVO) => {
    return await request.post({ url: `/system/sms-template/update`, data })
  },

  // 删除短信模板
  deleteSmsTemplate: async (id: number) => {
    return await request.delete({ url: `/system/sms-template/delete`, params: { id } })
  },

  // 发送模板短信
  sendSmsTemplate: async (data: SmsTemplateSendVO) => {
    return await request.post({ url: `/system/sms-template/send-sms`, data })
  },

  // 导出短信模板 Excel
  exportSmsTemplate: async (params) => {
    return await request.download({ url: `/system/sms-template/export-excel`, params })
  }
}
